just another Go generic library