Hi Chris,
You should use signatures to hide things. See http://research.microsoft.com/fsharp/manual/quicktour.aspx#QuickTourSignatures and the several examples of signatures in the *.fsi and *.mli files in the samples in the distribution.
Signatures are great for functional programming, or when the interface to a module is thin, but can be a bit less satisfying for metadata-rich OO programming, where you can end up with lots of duplication between implementation and signature. We're currently looking into modifying the signature mechanism, partly through a "private" keyword, and partly by allowing signature declarations ("module types") inline in implementation files.
Cheers!
Don