generified fill to take any data type deriving from Ord