FS0003: This value is not a function and cannot be applied

This message is given when a parameter is given to a value that cannot accept parameters. This is often the case when attempting to use an indexer into a collection like a list, array, or IEnumerable.

The following code demonstrates one way the error can be seen:

let v = 10

v "a parameter"

In the previous snippet, the FS0003 error is shown because the value v is not a function that accepts parameters.

error FS0003: This value is not a function and cannot be applied.

If a function was intended to be called, make sure the value you're calling is in fact a function. Is there a typo in the name? Try adding type annotations to let-bindings to ensure the code is in line with the intended types.