// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package a

type I interface{}

type F func()

type s struct {
	f F
}

func NewWithF(f F) *s {
	return &s{f: f}
}

func NewWithFuncI(func() I) *s {
	return &s{}
}
