[backport] Improve `Open Type`

This is a backport of #384