remove dependency on Text.Read.readMaybe