Rename value to result, witness to value
Remove Promise.resolve and rename cast to resolve