The namespace function is inferred to return type string, even though it can return nil.
I believe that this is due to an inappropriate ^string in the INamed protocol definition.
Corrected type inference of the INamed protocol method namespace to #{string clj-nil}.
Confirmed with Martin Kučera via Slack that CA has been signed.
I've confirmed that this patch works correctly. Forms like (namespace :ab/c) are now inferred as returning #{string clj-nil}