need to wrap `Opal` as Native, add spec