\begin{code} {-# LANGUAGE QuasiQuotes #-} import Text.Hamlet import qualified Data.ByteString.Lazy as L data Person = Person { name :: String , age :: String , page :: PersonUrls , isMarried :: Bool , children :: [String] } data PersonUrls = Homepage | PersonPage String renderUrls :: PersonUrls -> [(String, String)] -> String renderUrls Homepage _ = "/" renderUrls (PersonPage name) _ = '/' : name footer :: Hamlet url footer = [$hamlet|\