pointGo (Property { values = [[x, y]] }) | valid x && valid y = return (translate x, translate y)
    where
    valid x     = (enum 'a' <= x && x <= enum 'z') || (enum 'A' <= x && x <= enum 'Z')
    translate x = enum x - enum (if x < enum 'a' then 'A' else 'a')
pointGo (Property { values = [[x, y]] }) | valid x && valid y = return (translate x, translate y)
    where
    valid x     = (enum 'a' <= x && x <= enum 'z') || (enum 'A' <= x && x <= enum 'Z')
    translate x = enum x - enum (if x < enum 'a' then 'A' else 'a')
pointGo (Property { values = [[x, y]] }) | valid x && valid y = return (translate x, translate y)
    where
    valid x     = (enum 'a' <= x && x <= enum 'z') || (enum 'A' <= x && x <= enum 'Z')
    translate x = enum x - enum (if x < enum 'a' then 'A' else 'a')