code: func (d Device) MakeLibrary(source string, opt CompileOptions) (Library, error) {
  	l := C.Go_Device_MakeLibrary(d.device, source) // TODO: opt.
  	if l.Library == nil {
  		return Library{}, errors.New(C.GoString(l.Error))
  	}
  
  	return Library{l.Library}, nil
  }
docs: // MakeLibrary creates a new library that contains
  // the functions stored in the specified source string.
  //
  // Reference: https://developer.apple.com/documentation/metal/mtldevice/1433431-makelibrary.