Finished making compliant with --noImplicityAny. Added top-level declarations. Removed Phantom type in favor of an inline type.
Update license.