ref: b9656ec7e120d1fced20ea5ca826c57f2de4fc84
dir: /test/genericimpl.myr/
use std
trait gimpl @a =
	desc	: (x : @a -> byte[:])
;;
impl gimpl int =
	desc = {x
		-> "int"
	}
;;
impl gimpl byte[:] =
	desc = {x
		-> "string"
	}
;;
impl gimpl @a =
	desc = {x
		-> "@a"
	}
;;
impl gimpl @b[:] =
	desc = {x
		-> "@a[:]"
	}
;;
const main = {
	std.put("{} {} {} {}\n", desc(123), desc("foo"), desc('x'), desc([true][:]))
}