Implementation with plain haskell type

Signed-off-by: mat tso <mat-tso@topmail.ie>