contain a@(Closure k) r = a ==r || k `contain` (removeEpsilon r) && r `contain` Epsilon
contain a@(Closure k) r = a ==r || k `contain` (removeEpsilon r) && r `contain` Epsilon
contain a@(Closure k) r = a ==r || k `contain` (removeEpsilon r) && r `contain` Epsilon