Functions should either do something or answer something, but not both.
This I contend with slightly. It may be useful to return a boolean that tells you whether or not a method has completed successfully. Many APIs (including Java) do this a lot which has sort of normalized this kind of behavior