Change to cast return values automatically instead of simply validate that they have been cast