It’s good to be explicit that you are ignoring something, because often accidentally ignoring something is the cause of a bug. Semicolon already has a meaning in F# so it would be a bad idea to give it a new additional meaning.
ignore can also be dangerous. Imagine you have the code
myFunc a |> ignore, and then you add a new parameter to
myFunc. In some parts of the codebase this would cause type errors for you to fix, but in this example there would be no type error and the function would not even run! I have actually seen this happen before and it caused a bug in production. So now I add a type parameter to
ignore to be even more explicit and safe:
myFunc a |> ignore<int>.
Rather than trying to hide
ignore from people, explain to them that it is a valuable thing, especially if used with a type parameter (for curried functions at least, there is less danger after a method call). If your code is using it all the time, it’s probably the sign of a larger problem that can be refactored away. Can you give any specific examples?