function objects for the cast operators