scmDisplay = scmPrint f "display"
 where
   f (ScmString  s)    = return (elems s)
   f (ScmMString s)    = getElems s
   f (ScmChar    c)    = return [c]
   f x | isAggregate x = scmShowWith f x
       | otherwise     = scmShow x
scmDisplay = scmPrint f "display"
 where
   f (ScmString  s)    = return (elems s)
   f (ScmMString s)    = getElems s
   f (ScmChar    c)    = return [c]
   f x | isAggregate x = scmShowWith f x
       | otherwise     = scmShow x
scmDisplay = scmPrint f "display"
 where
   f (ScmString  s)    = return (elems s)
   f (ScmMString s)    = getElems s
   f (ScmChar    c)    = return [c]
   f x | isAggregate x = scmShowWith f x
       | otherwise     = scmShow x