If we could just explicitly declare things as immutable, we could just mix and match between mutable state and immutable state where appropriate and wouldn't have to either be...
Why do you think that? It is necessary for using custom boolean types in if statements afaik.
Don't you just use a factory for the Future you're forking for that?