could be a one liner `get hashCode => 37 * 17 + type.hashCode;`