New attempt. With another types for expressions.
Integration of atom in new types.