Rules, dependent validation and Type inherithence