alsoRegular g (n:ns) = [n] : rs ++ alsoRegular g ns
    where
      rs = map (n:) (alsoRegular g $ intersect crn ns)
      crn = twoCycle g n

-- | Return all nodes that are co-recursive with the given node
--   (i.e. for n, find all n' such that n->n' and n'->n).
alsoRegular g (n:ns) = [n] : rs ++ alsoRegular g ns
    where
      rs = map (n:) (alsoRegular g $ intersect crn ns)
      crn = twoCycle g n

-- | Return all nodes that are co-recursive with the given node
--   (i.e. for n, find all n' such that n->n' and n'->n).
alsoRegular g (n:ns) = [n] : rs ++ alsoRegular g ns
    where
      rs = map (n:) (alsoRegular g $ intersect crn ns)
      crn = twoCycle g n

-- | Return all nodes that are co-recursive with the given node
--   (i.e. for n, find all n' such that n->n' and n'->n).