Yet another immutable queue implementation

Yet another immutable queue implementation