improve type parsing
prevent arguments de-opt