fix bug where you could set invalid types with PROP