overwriting subunit setter so that it updates the before_type_cast variable

fixes bug where validations could fail when they should be passing after
setting the subunits value directly