Advanced way to specify if a function call might have side effects. #400