Merge pull request #1518 from apache/tristan/type-annotations

Hardening API surfaces