Fix :const handling, introduce :val