Updated auto-conversion system to allow an optional type override