hydroxyalkenal hydroxyalkyl haloaldehyde hydroxyacyl hydroxypropionaldehyde aldol aldehyde hydroxyaryl arylaldehyde oxoaldehyde