Add some type aliases for nicer type sigs / documentation
Fix all warnings